When a microcontroller processes operations involving several processes that work together, large buffers of data are often manipulated resulting in a number of data transfers to and from memory. For example, the Internet protocol security (IPsec) standard is based on advanced encryption standard (AES) processes and secure hash algorithm (SHA) processes working together. Programming these processes to work together in a microcontroller includes: 1) reading a message from memory; 2) sending the message to an AES block for encryption; 3) reading the encrypted message from the AES block; 4) storing the encrypted message in memory; 5) reading the encrypted message from memory; 6) sending the encrypted message to the SHA block; 7) reading a SHA authentication tag from the SHA block; and 8) storing the authentication tag in memory. All of these read/write memory access requests imply complex programming by the software application developer to configure peripherals, direct memory access (DMA) channels, multiple interrupt monitoring and the like.